package dbutils01;

import org.apache.commons.dbutils.DbUtils;
import org.apache.commons.dbutils.QueryRunner;
import org.junit.Test;

import java.sql.Connection;

/**
 * 利用DBUtils对数据库做CRUD操作
 *  QueryRunner类:
 *    构造方法:
 *      public QueryRunner()
 *            Constructor for QueryRunner.
 *    成员方法:
 *      int	update(Connection conn, String sql, Object... params)
 *        执行增删改操作
 *          可以用来执行增删改语句
 *          conn:传入一个数据库连接
 *          sql:传入一个预编译SQL语句
 *          param:设置预编译SQL中?占位符的值
 *  DbUtils类
 *     closeQuietly(Connection conn):可以安静的(内部处理异常)关闭连接
 */

public class DBUtilsDemo01 {
    @Test
    public void testInsert() throws Exception {
        //1.先创建一个QueryRunner对象
        QueryRunner qr = new QueryRunner();
        //2.利用update方法来执行Inser语句
        Connection conn = JDBCUtils.getConnection();
        int i = qr.update(conn,
                "INSERT INTO product VALUES(?,?,?,?)",
                13, "索尼单反相机", 7999, 4);

        //3.打印update返回值
        System.out.println(i);//返回影响的行数

        //4.释放资源
        DbUtils.closeQuietly(conn);//会在closeQuietly内部把异常处理掉
    }

}
